#include <iostream>
using namespace std;
struct persona
{
    string nombre;
    int edad;
};
int mostrarmenu();
void agregarpersona(struct persona vec[],int &cantidad);
void mostrarpersona(struct persona vec[],int cantidad);
void buscarpersona(struct persona vec[],int cantidad);
void modificarpersona(struct persona vec[],int cantidad);
void promediopersona(struct persona vec[],int cantidad);
void masjoven(struct persona vec[],int cantidad);
void masvieja(struct persona vec[],int cantidad);


int main()
{
    struct persona vec[50];
    int opcion;
    int cantidad;
    cantidad=0;
    opcion=mostrarmenu();
     while(opcion!=10)
    {
        switch(opcion)
        {
            case 1:
                   agregarpersona(vec,cantidad);
                    break;
            case 2:
                    mostrarpersona(vec,cantidad);
                    break;
            case 3:
                    buscarpersona(vec,cantidad);
                    break;
            case 4:
                    modificarpersona(vec,cantidad);
                    break;
            case 5:
                    promediopersona(vec,cantidad);
                    break;
            case 6:
                    masjoven(vec,cantidad);
                    break;
            case 7:
                    masvieja(vec,cantidad);
                    break;


        }
        opcion=mostrarmenu();
    }

}

int mostrarmenu()
{
    int op;
    cout<<"1-Agregar persona"<<endl;
    cout<<"2-Mostrar Persona Persona"<<endl;
    cout<<"3-Buscar Persona"<<endl;
    cout<<"4-Modificar Persona"<<endl;
    cout<<"5-Promedio de edad de personas"<<endl;
    cout<<"6-Persona mas joven"<<endl;
    cout<<"7-Persona mas vieja"<<endl;
    cout<<"8-Ordenar x edad"<<endl;
    cout<<"9-Ordenar x nombre"<<endl;
    cout<<"10-Salir"<<endl;
    cin>>op;
    return op;


}
void agregarpersona(struct persona vec[],int &cantidad)
{
    if(cantidad>50)
    {
        return ;
    }
    cout<<"ingrese persona"<<endl;
    cin>>vec[cantidad].nombre;
    cout<<"ingrese edad"<<endl;
    cin>>vec[cantidad].edad;
    cantidad++;

}
void mostrarpersona(struct persona vec[],int cantidad)
{
    int i;
    i=0;
    while(i<cantidad)
    {
        cout<<vec[i].nombre<<"  "<<vec[i].edad<<endl;
        i++;
    }
}
void buscarpersona(struct persona vec[],int cantidad)
{
    int i;
    string n;
    i=0;
    cin>>n;
    while(i<cantidad)
    {
        if(n==vec[i].nombre)
        {
            cout<<"Edad:"<<vec[i].edad<<endl;
        }
        i++;
    }
}
void modificarpersona(struct persona vec[],int cantidad)
{
    int i;
    i=0;
    string n;
    cout<<"Ingrese persona que quiere modificar"<<endl;
    cin>>n;
    while(i<cantidad)
    {
        if(n==vec[i].nombre)
        {
            cout<<"Ingrese nueva edad"<<endl;
            cin>>vec[i].edad;
            break;
        }
        i++;
    }
}
void promediopersona(struct persona vec[],int cantidad)
{
    int i,suma;
    suma=0;
    i=0;
    while(i<cantidad)
    {
        suma=suma+vec[i].edad;
        i++;
    }
    cout<<"Promedio: "<<suma/i<<endl;
}
void masjoven(struct persona vec[],int cantidad)
{
    int i,joven;
    i=0;
    joven=vec[i].edad;
    i++;
    while(i<cantidad)
    {
        if(joven>vec[i].edad)
        {
            joven=vec[i].edad;
        }
        i++;
    }
    cout<<"Persona mas joven: "<<vec[i].nombre<<endl;
}
void masvieja(struct persona vec[],int cantidad)
{
    int i,vieja;
    i=0;
    vieja=vec[i].edad;
    i++;
    while(i<cantidad)
    {
        if(vieja<vec[i].edad)
        {
            vieja=vec[i].edad;
        }
        i++;
    }
    cout<<"Persona mas vieja: "<<vec[i].nombre<<endl;
}
